"""
结构型关系模式：关注如何组合类和对象以形成更大的结构和功能。

【适配】
适配器模式(Adapter Pattern)：用于将一个类的接口转换成客户端期望的另一种接口。

该模式可让原本由于接口不兼容而不能一起工作的类能协同工作
例如，定义了一个英文翻译类，现需适配成中文翻译类，那么就可以使用适配器模式，在构造方法中构造英文类，再去实现中文方法
"""


class EnglishSpeaker:
    def say_hello(self):
        print("Hello!")


class ChineseTranslator:
    def __init__(self, english_speaker):
        self.english_speaker = english_speaker

    def speak_chinese(self):
        print("你好！")

    def translate(self):
        self.speak_chinese()  # "你好！"
        self.english_speaker.say_hello()  # "Hello!"


english_speaker = EnglishSpeaker()
chinese_translator = ChineseTranslator(english_speaker)
chinese_translator.translate()  # 你好！ Hello!
